package com.scs.application.modules.wm.entity;


import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityIndexAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 调拨需求单
 * </p>
 */
@Data
@Accessors(chain = true)
@TableName("wm_transfer_demand")
@EntityClassAnnotation(remark = "调拨需求表")
@EntityIndexAnnotation(ix={"transfer_id"})
public class TransferDemand extends DataEntity {


    // id ,在父类中处理
    @EntityFieldAnnotation(
            text = "物料ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrId;

    @EntityFieldAnnotation(
            text = "业务来源",
            length = "10",
            not_null = false,
            default_value = "MANUAL",
            comment = "安全库存:SAFE_STOCK,科室需求:DEPT_APPLY,手工创建:MANUAL"
    )
    private String refDemandTable;

    @EntityFieldAnnotation(
            text = "物料名称",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrName;

    @EntityFieldAnnotation(
            text = "耗材型号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = "耗材型号"
    )
    private String matrModel;

    @EntityFieldAnnotation(
            text = "物料品规",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrSpec;

    @EntityFieldAnnotation(
            text = "单品单位",
            length = "10",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String skuUnit;

    @EntityFieldAnnotation(
            text = "单品单价(元)",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double skuPrice;

    @EntityFieldAnnotation(
            text = "需求包装单位",
            length = "255",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String packageUnit;

    @EntityFieldAnnotation(
            text = "需求包装数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double packageQty;

    @EntityFieldAnnotation(
            text = "需求单品数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double skuQty;

    @EntityFieldAnnotation(
            text = "需求包装比率",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double packageRate;


    @EntityFieldAnnotation(
            text = "调拨单ID",
            length = "20",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String transferId;

    @EntityFieldAnnotation(
            text = "来源请领明细id",
            length = "20",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String refApplyItemId;

    @EntityFieldAnnotation(
            text = "已拣货单品数量",
            length = "",
            not_null = true,
            default_value = "0.0000",
            comment = ""
    )
    private Double pickedSkuQty;

    @EntityFieldAnnotation(
            text = "备注",
            length = "300",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "原始需求ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = "deptApplyAuto的主键"
    )
    private String applyAutoId;

    @EntityFieldAnnotation(
            text = "开单单位",
            length = "10",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String billPackageUnit;


    @EntityFieldAnnotation(
            text = "开单单位比率",
            length = "10",
            not_null = false,
            default_value = "0",
            comment = ""
    )
    private Double billPackageRate;


    @EntityFieldAnnotation(
            text = "开单单位数量",
            length = "10",
            not_null = false,
            default_value = "0",
            comment = ""
    )
    private Double billPackageQty;

    @EntityFieldAnnotation(
            text = "开单单品数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double billSkuQty;

    @EntityFieldAnnotation(
            text = "开单小计(元)",
            length = "255",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double billAmount;
}
